home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / misc / emu / ATUtilities.lha / ATUtilities / BASIC / PC_INT.BAS < prev    next >
Encoding:
BASIC Source File  |  2000-09-26  |  3.3 KB  |  97 lines

  1. rem ==============================================================
  2. rem == Interrupt $0B:                                           ==
  3. rem ==   AH=Funktionsnummer                                     ==
  4. rem ==                                                          ==
  5. rem == AH=1:  GetParamOffset                                    ==
  6. rem ==          => AL = JIntNummer                              ==
  7. rem ==          <= DI = Offset                                  ==
  8. rem ==                                                          ==
  9. rem == AH=2:  AllocJanusMem                                     ==
  10. rem ==          => AL = Speichertyp                             ==
  11. rem ==          => BX = Anzahl der Bytes                        ==
  12. rem ==          <= BX = Offset auf Speicher                     ==
  13. rem ==                                                          ==
  14. rem == AH=3:  FreeJanusMem                                      ==
  15. rem ==          => AL = Speichertyp                             ==
  16. rem ==          => BX = Offset auf Speicher                     ==
  17. rem ==                                                          ==
  18. rem == AH=4:  SetParamOffset                                    ==
  19. rem ==            => AL = JIntNummer                              ==
  20. rem ==          => BX = Offset                                  ==
  21. rem ==                                                          ==
  22. rem == AH=5:  Nicht benutzt                                     ==
  23. rem == AH=6:  Nicht benutzt                                     ==
  24. rem ==                                                          ==
  25. rem == AH=15: LockService                                       ==
  26. rem ==          => DI = Service                                 ==
  27. rem ==                                                          ==
  28. rem == AH=16: UnLockService                                     ==
  29. rem ==          => DI = Service                                 ==
  30. rem ==                                                          ==
  31. rem ==============================================================
  32.  
  33. INCLUDE "REGNAMES.INC"
  34. def seg = &hd000
  35. cls
  36.  
  37. AL=1
  38. AH=2
  39. REG %AX,(AH*256)+AL
  40. REG %BX,100
  41. call interrupt &HB
  42. erg=reg(%BX)
  43. ?"Speicheroffset:";erg
  44.  
  45. if erg>1 then
  46.  reg %AX,(3*256)+1
  47.  reg %BX,erg
  48.  call interrupt &HB
  49. end if
  50.  
  51. ?"<< Taste >>"
  52.  
  53. ?#1,"Interrupt-Einsprung-Lister  Version 1.0   by Alligator Software Inc."
  54. ?#1,"===================================================================="
  55. ?#1,""
  56. ?#1,"Interrupt             Segment       Offset"
  57. ?#1,"------------------------------------------"
  58. for i=0 to 255
  59.  DEF SEG = 0
  60.  ?#1,"INT:";
  61.  CALL TR01(i)
  62.  offs&=peek(i*4)+256*peek((i*4)+1)
  63.  segm&=peek((i*4)+2)+256*peek((i*4)+3)
  64.  if not (segm&=0 or offs&=0) then
  65.    def seg = segm&
  66.    if not (peek(offs&)=207) then
  67.      CALL TR00(hex$(segm&),0)
  68.      CALL TR00(hex$(offs&),1)
  69.    else
  70.      ?#1,"Not installed - OpCode IRET"
  71.    end if
  72.  else
  73.    ?#1,"Not installed - No Segment"
  74.  end if
  75. next
  76. close #1
  77. end
  78.  
  79. sub TR00(a$,x) static
  80.  if(len(a$)=1) then a$="000"+a$
  81.  if(len(a$)=2) then a$="00"+a$
  82.  if(len(a$)=3) then a$="0"+a$
  83.  a$=a$+"          "
  84.  if x then ?#1,a$ else ?#1,a$;
  85. end sub
  86.  
  87. sub TR01(x) static
  88.  a$=str$(x)
  89.  b$=hex$(x)
  90.  if(len(a$)=1) then a$="  "+a$
  91.  if(len(a$)=2) then a$=" "+a$
  92.  a$=a$+"   "
  93.  if(len(b$)=1) then b$="0"+b$
  94.  a$=a$+b$+"          "
  95.  ?#1,a$;
  96. end sub
  97.